Skip to content

Update blst to fix point-at-infinity issue in g1_lincomb_fast#600

Merged
jtraglia merged 5 commits intoethereum:mainfrom
jtraglia:fix-point-at-infinity-issue
Sep 15, 2025
Merged

Update blst to fix point-at-infinity issue in g1_lincomb_fast#600
jtraglia merged 5 commits intoethereum:mainfrom
jtraglia:fix-point-at-infinity-issue

Conversation

@jtraglia
Copy link
Member

@jtraglia jtraglia commented Sep 15, 2025

Reported by Teku & Nimbus. There was an issue with verify_cell_kzg_proof_batch when there were at least 8 cells being verified & one of the cell's commitments was the point-at-infinity. It seems that blst's v0.3.15 support for points at infinity in Pippenger MSM was insufficient. Regarding why the existing reference tests did not catch this... When there are fewer than 8 inputs, ckzg uses the naive linear combination implementation which works as intended. Supranational recently pushed a commit to blst which fixes the issue, but this isn't included in a release yet. See these PRs for reference:

This PR bumps blst to the latest commit; the submodule & binding dependencies.

A regression test from consensus-specs is included too. The CI check for spec consistency is expected to fail until there's another spec release.

@jtraglia
Copy link
Member Author

Going to merge now. Not going to wait for a new spec release 😅

@jtraglia jtraglia merged commit 0aa3a1a into ethereum:main Sep 15, 2025
42 of 43 checks passed
@jtraglia jtraglia deleted the fix-point-at-infinity-issue branch September 15, 2025 18:27
@asn-d6
Copy link
Contributor

asn-d6 commented Sep 16, 2025

LGTM! Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants